home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / reuse.lha / reuse / m2c / RelDrv.c < prev    next >
C/C++ Source or Header  |  1992-08-18  |  5KB  |  119 lines

  1. #include "SYSTEM_.h"
  2.  
  3. #ifndef DEFINITION_IO
  4. #include "IO.h"
  5. #endif
  6.  
  7. #ifndef DEFINITION_Sets
  8. #include "Sets.h"
  9. #endif
  10.  
  11. #ifndef DEFINITION_Relations
  12. #include "Relations.h"
  13. #endif
  14.  
  15. static Relations_tRelation r1, r2;
  16. static INTEGER s;
  17. static CHAR c;
  18. static Sets_tSet s2;
  19.  
  20.  
  21. void BEGIN_MODULE()
  22. {
  23.   BEGIN_IO();
  24.   BEGIN_Sets();
  25.   BEGIN_Relations();
  26.  
  27.   Relations_MakeRelation(&r2, 10L, 20L);
  28.   Relations_Include(&r2, 0L, 9L);
  29.   Relations_Include(&r2, 9L, 1L);
  30.   Relations_Include(&r2, 1L, 8L);
  31.   Relations_Include(&r2, 8L, 0L);
  32.   Relations_WriteRelation((System_tFile)IO_StdOutput, r2);
  33.   IO_WriteNl((System_tFile)IO_StdOutput);
  34.   Relations_Closure(&r2);
  35.   Relations_WriteRelation((System_tFile)IO_StdOutput, r2);
  36.   IO_WriteNl((System_tFile)IO_StdOutput);
  37.   Relations_ReleaseRelation(&r2);
  38.   Relations_MakeRelation(&r1, 10L, 20L);
  39.   Relations_Include(&r1, 2L, 3L);
  40.   Relations_Include(&r1, 3L, 4L);
  41.   IO_WriteNl((System_tFile)IO_StdOutput);
  42.   IO_WriteS((System_tFile)IO_StdOutput, (STRING)"enter Size and Relation like below! (Size=0 terminates)", 55L);
  43.   IO_WriteNl((System_tFile)IO_StdOutput);
  44.   IO_WriteI((System_tFile)IO_StdOutput, 4L, 3L);
  45.   IO_WriteS((System_tFile)IO_StdOutput, (STRING)" ", 1L);
  46.   Relations_WriteRelation((System_tFile)IO_StdOutput, r1);
  47.   IO_WriteNl((System_tFile)IO_StdOutput);
  48.   Relations_ReleaseRelation(&r1);
  49.   for (;;) {
  50.     IO_WriteNl((System_tFile)IO_StdOutput);
  51.     IO_WriteFlush((System_tFile)IO_StdOutput);
  52.     s = IO_ReadI((System_tFile)IO_StdInput);
  53.     if (s == 0) {
  54.       goto EXIT_1;
  55.     }
  56.     Sets_MakeSet(&s2, (LONGCARD)s);
  57.     Relations_MakeRelation(&r2, s, s);
  58.     Relations_ReadRelation((System_tFile)IO_StdInput, &r2);
  59.     Relations_WriteRelation((System_tFile)IO_StdOutput, r2);
  60.     IO_WriteNl((System_tFile)IO_StdOutput);
  61.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Reflexive    = ", 12L);
  62.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsReflexive(r2));
  63.     IO_WriteNl((System_tFile)IO_StdOutput);
  64.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Symmetric    = ", 12L);
  65.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsSymmetric(r2));
  66.     IO_WriteNl((System_tFile)IO_StdOutput);
  67.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Transitive    = ", 13L);
  68.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsTransitive(r2));
  69.     IO_WriteNl((System_tFile)IO_StdOutput);
  70.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Equivalence    = ", 14L);
  71.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsEquivalence(r2));
  72.     IO_WriteNl((System_tFile)IO_StdOutput);
  73.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"HasReflexive    = ", 15L);
  74.     IO_WriteB((System_tFile)IO_StdOutput, Relations_HasReflexive(r2));
  75.     IO_WriteNl((System_tFile)IO_StdOutput);
  76.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Cyclic        = ", 10L);
  77.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsCyclic(r2));
  78.     IO_WriteNl((System_tFile)IO_StdOutput);
  79.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Card        = ", 8L);
  80.     IO_WriteI((System_tFile)IO_StdOutput, Relations_Card(&r2), 1L);
  81.     IO_WriteNl((System_tFile)IO_StdOutput);
  82.     Relations_GetCyclics(r2, &s2);
  83.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Cyclics        = ", 11L);
  84.     Sets_WriteSet((System_tFile)IO_StdOutput, s2);
  85.     IO_WriteNl((System_tFile)IO_StdOutput);
  86.     Relations_Closure(&r2);
  87.     Relations_WriteRelation((System_tFile)IO_StdOutput, r2);
  88.     IO_WriteNl((System_tFile)IO_StdOutput);
  89.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Reflexive    = ", 12L);
  90.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsReflexive(r2));
  91.     IO_WriteNl((System_tFile)IO_StdOutput);
  92.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Symmetric    = ", 12L);
  93.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsSymmetric(r2));
  94.     IO_WriteNl((System_tFile)IO_StdOutput);
  95.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Transitive    = ", 13L);
  96.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsTransitive(r2));
  97.     IO_WriteNl((System_tFile)IO_StdOutput);
  98.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Equivalence    = ", 14L);
  99.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsEquivalence(r2));
  100.     IO_WriteNl((System_tFile)IO_StdOutput);
  101.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"HasReflexive    = ", 15L);
  102.     IO_WriteB((System_tFile)IO_StdOutput, Relations_HasReflexive(r2));
  103.     IO_WriteNl((System_tFile)IO_StdOutput);
  104.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Cyclic        = ", 10L);
  105.     IO_WriteB((System_tFile)IO_StdOutput, Relations_IsCyclic(r2));
  106.     IO_WriteNl((System_tFile)IO_StdOutput);
  107.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Card        = ", 8L);
  108.     IO_WriteI((System_tFile)IO_StdOutput, Relations_Card(&r2), 1L);
  109.     IO_WriteNl((System_tFile)IO_StdOutput);
  110.     Relations_GetCyclics(r2, &s2);
  111.     IO_WriteS((System_tFile)IO_StdOutput, (STRING)"Cyclics        = ", 11L);
  112.     Sets_WriteSet((System_tFile)IO_StdOutput, s2);
  113.     IO_WriteNl((System_tFile)IO_StdOutput);
  114.     Relations_ReleaseRelation(&r2);
  115.     Sets_ReleaseSet(&s2);
  116.   } EXIT_1:;
  117.   IO_CloseIO();
  118. }
  119.